package com.xbts.system.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import javax.validation.constraints.NotEmpty;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import lombok.Data;
import com.xbts.common.annotation.Excel;
import com.xbts.common.utils.StringUtils;
import com.xbts.common.core.domain.BaseEntity;

/**
 * 工单详细对象 cn_work_order_detail
 *
 * @author xbts
 * @date 2023-08-28
 */
@Data
@ApiModel("工单详细对象")
@TableName("cn_work_order_detail")
public class CnWorkOrderDetail extends BaseEntity {

private static final long serialVersionUID=1L;

    /** 主键 */
    @TableId
    private String id;

    /** 工单编号 */
    @ApiModelProperty("工单编号")
    @NotEmpty(message = "工单编号不能为空")
    private String orderNum;

    /** 用户类型（00系统用户 01普通用户） */
    @ApiModelProperty("用户类型(00=系统用户,01=普通用户)")
    private String userType;

    /** 用户ID */
    @ApiModelProperty("用户ID")
    private Long userId;

    /** 内容 */
    @ApiModelProperty("内容")
    @NotEmpty(message = "内容不能为空")
    private String content;

    /** 内容类型 （1=文字,2=附件） */
    @ApiModelProperty("内容类型 1=文字,2=附件")
    @NotEmpty(message = "内容类型不能为空")
    private String contentType;

    /** false未读 true已读 */
    private Boolean readStatus;

    @TableField(exist = false)
    private int unReadNum;

    public<T> QueryWrapper<T> queryWrapper(){
        QueryWrapper<T> queryWrapper=new QueryWrapper<>();
        queryWrapper.eq(StringUtils.isNotEmpty(orderNum),"order_num",orderNum);
        queryWrapper.eq(StringUtils.isNotEmpty(userType),"user_type",userType);
        queryWrapper.like(StringUtils.isNotEmpty(content),"content",content);
        return queryWrapper;
    }
}